<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>return</title>
 </head>
 <body class="docs"><div id="layout">
  <div id="layout-content"><div id="function.return" class="sect1">
 <h2 class="title">return</h2>
 <p class="verinfo">(PHP 4, PHP 5, PHP 7)</p>
 <p class="simpara">
  如果在一个函数中调用 <span class="function"><strong>return</strong></span>
  语句，将立即结束此函数的执行并将它的参数作为函数的值返回。<span class="function"><strong>return</strong></span>
  也会终止 <span class="function"><a href="eval.html" class="function">eval()</a></span> 语句或者脚本文件的执行。
 </p>
 <p class="simpara">
  如果在全局范围中调用，则当前脚本文件中止运行。如果当前脚本文件是被
  <span class="function"><a href="include.html" class="function">include</a></span> 的或者 <span class="function"><a href="require.html" class="function">require</a></span>
  的，则控制交回调用文件。此外，如果当前脚本是被 <span class="function"><a href="include.html" class="function">include</a></span>
  的，则 <span class="function"><strong>return</strong></span> 的值会被当作 <span class="function"><a href="include.html" class="function">include</a></span>
  调用的返回值。如果在主脚本文件中调用
  <span class="function"><strong>return</strong></span>，则脚本中止运行。如果当前脚本文件是在 <var class="filename">php.ini</var>
  中的配置选项 <a href="ini.core.html#ini.auto-prepend-file" class="link">auto_prepend_file</a> 或者 <a href="ini.core.html#ini.auto-append-file" class="link">auto_append_file</a> 所指定的，则此脚本文件中止运行。
 </p>
 <p class="simpara">
  更多信息见<a href="functions.returning_values.html" class="link">返回值</a>。
 </p>
 <p class="para">
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <span class="simpara">
    注意既然 <span class="function"><strong>return</strong></span>
    是语言结构而不是函数，因此其参数没有必要用括号将其括起来。通常都不用括号，实际上也应该不用，这样可以降低
    PHP 的负担。
   </span>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <span class="simpara">
    如果没有提供参数，则一定不能用括号，此时返回 <strong><code>NULL</code></strong>。如果调用
    <em>return</em> 时加上了括号却又没有参数会导致解析错误。
   </span>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <span class="simpara">
    当用引用返回值时<em class="emphasis">永远不要</em>使用括号，这样行不通。只能通过引用返回变量，而不是语句的结果。如果使用
    <em>return ($a);</em> 时其实不是返回一个变量，而是表达式
    <em>($a)</em> 的值（当然，此时该值也正是 <var class="varname"><var class="varname">$a</var></var> 的值）。
   </span>
  </p></blockquote>
 </p>
</div></div></div></body></html>